%per bus kijken wat de spanning doet bij een uitval van een lijn.
%nu nog zonder vermogenvariatie
function powerflow = lijn_uitval_14_index_Q(start,eind)
% clear all
% tic
% IEEE_14_bus_original;
% einde_interval = size(Line.con,1);
% aantal_lijnen = einde_interval;
teller = 0;
tijd = zeros(200,(eind+1-start));

alle_spanningen = zeros(200*(eind+1-start),14);
alle_q = zeros(200*(eind+1-start),14);
ok = 0;
aantal_lijnen = 20;
einde_interval = (eind+1-start);
for k=start:eind;
%     while ok ==0
    filename = sprintf('lijn_uit%03d',k);
    initpsat;
    Settings.plottype = 2;
    Settings.freq = 60;
    Settings.absvalues= 'on';
    runpsat(filename,'pf');
    Settings.fixt = 1;
   % Settings.tstep = 1;%0.05; %TRAAAAAAAAAAAAAG
    %Settings.deltat = 20/500;
%     Settings.deltatmax = 20/180;
%     Settings.deltatmin = 20/180;
    Settings.deltat = 1;
    Settings.freq = 60;
    Settings.absvalues= 'on';
    Settings.plottype = 2;
    
    filename = sprintf('lijn_uit%03d.m',k);
    idx_begin = DAE.n+Bus.n+1;
    idx_eind = DAE.n+2*Bus.n;
    idx_begin_q = DAE.n+DAE.m+Bus.n+1;
    idx_eind_q = DAE.n+DAE.m+2*Bus.n;
    
        fid=fopen(filename,'a');
        
        Varname.idx(:,1) = 0;
        teller1 = 1;
        for i = idx_begin:idx_eind
            Varname.idx(teller1,1) = i;
            teller1 = teller1+1;
        end
        for i = idx_begin_q:idx_eind_q
            Varname.idx(teller1,1) = i;
            teller1 = teller1+1;
        end
        count = fprintf(fid, 'Varname.idx = [... \n');
        format = [repmat('%8.4g; ',1,7),'\n'];
        count = fprintf(fid,format,Varname.idx');
%         count = fprintf(fid,'\n');
        count = fprintf(fid,'   ];\n\n');
        fclose(fid);
    
    runpsat('td');
    
    %begint vanaf index 0... (STOM!!!)
   v = genvarname('voltages_fout_bus', who);
   eval([v ' = Varout.vars']);%(:,(size(Bus.con,1)+1):2*size(Bus.con,1))']);
   lengte = size(Varout.vars,1);
   
   %spanning per tijdsstap per bus
   alle_spanningen(1+200*teller:200*teller+lengte,:) = Varout.vars(:,1:Bus.n);
   
   alle_q(1+200*teller:200*teller+lengte,:) = Varout.vars(:,Bus.n+1:2*Bus.n);
   
   t = genvarname('tijd_fout_bus', who);
   eval([t ' = Varout.t']);%(:,(size(Bus.con,1)+1):2*size(Bus.con,1))']);
   
   %tijd per stap per lijn
   tijd(1:lengte,k) = Varout.t;
   
%       ok = 1;
%    test = 0;
%    %k nog laten varieren over de bussen!!!!!   (1-14)
%    for l = 1:1:14
%    if test == 0
%    if sum(alle_spanningen(20+200*teller:140+200*teller,l))<=70
%        
%        ok = 0;
%        
% %        IEEE_14_bus_original;
%         filename = sprintf('lijn_uit%03d.m',k);
% %         eval(filename);
% %         filename = [filename,'.m'];
%         fid=fopen(filename,'a');
%        %impedantie aanpassen om netwerk toch te laten oplossen
%        Impedantie = Fault.con(1,7)*2;
%        Fault.con(1,7) = Impedantie;
%        Fault.con(1,8) = Impedantie;
%        
%        %print Fault.con
%         count = fprintf(fid, 'Fault.con = [... \n');
%         count = fprintf(fid,'%4d %4.4g %4.4g %3.4g %2.4g %4.5g %6.5g %6.5g\n',Fault.con);
% %         count = fprintf(fid,'\n');
%         count = fprintf(fid,'   ];\n\n');
%        
%         fclose(fid);
%         test = 1;
%    end
%    end
%    end
%    
%    
%     end
   ok=0;
   closepsat;
   teller = teller+1;
   
   
end

save lijn_uit tijd alle_spanningen aantal_lijnen einde_interval alle_q;
% 
% 
% 
% 
% 
% 
% 
% 
% %waar bevinden zich de dips?
% dips_bussen_belasting = zeros(100,6);
% teller = 0;
% 
% for l = 1:aantal_lijnen%((aantal_lijnen)*7)
%     for ll = 1:aantal_bussen
%         if voltage_k_percent(l,ll)<=0.9 && voltage_k_percent(l,ll)>=0.01
%             teller = teller+1;
%             %1e index van dips geeft geval weer, 2e index de bus
%             dips_bussen_belasting(teller,1) = l;
%             dips_bussen_belasting(teller,2) = ll;
%             dips_bussen_belasting(teller,4) = voltage_k_percent(l,ll);
%             
%         end
%     end
% end
% aantal_dips = teller;
% %nullen verwijderen
% for l=1:size(dips,1)
%     if dips(l,1) == 0
%         
%         dips(l:size(dips,1), :) = [];
%         break;
%     end
% end
% 
% %er zijn grenzen opgegeven van min en max voltage per belasting (0.9-1.1)
% %checken of er een bus te laag of te hoog gaat:
% lijst_getroffen_bussen = zeros(100,2);
% teller = 1;
% for l=1:size(dips)
%     for k = 1:size(PQ.con)
%     if dips(l,2)==PQ.con(k,1)
%         lijst_getroffen_bussen(teller,2) = dips(l,2);
%         lijst_getroffen_bussen(teller,1) = dips(l,1);
%         teller = teller + 1;
%     end
%     end
% end
% 
% %overzicht van meest gevoelige bussen
% gevoeligheid_bussen = zeros(30,1);
% for l = 1:size(dips,1)
%     bus = dips(l,2);
%     gevoeligheid_bussen(bus,1) = gevoeligheid_bussen(bus,1) + 1;
%     
% end
% 
% toc;
% 
% 
% save lijn_uit dips_bussen_belasting aantal_dips 
% 
% 

